package io.bdmc.modules.bss.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.bdmc.common.annotation.Excel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * rfa盘数据 实体
 * </p>
 *
 * @author 黄露
 * @since 2021-04-28
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ToString
// "DeviceMachineRfa对象", description = "rfa盘数据")
public class DeviceMachineRfa extends Model<DeviceMachineRfa> {

  private static final long serialVersionUID = 1L;

  // "rfa数据主键id")
  @TableId(value = "machine_rfa_id", type = IdType.AUTO)
  private Integer machineRfaId;

  // "设备id")
  private Integer deviceId;

  @Excel(name =  "单盘SN")
  private String diskSn;

  private String workState;

  // "工作模式")
  private String workMode;

  // "模块类型(线路位置)")
  @Excel(name =  "线路位置")
  private String lineLocation;

  // "模块类型")
  @Excel(name =  "模块类型")
  private String moduleType;

  // "波长通道个数")
  private Integer waveChannelCount;

  // "增益最小值")
  private String gainMin;

  // "增益最大值")
  private String gainMax;

  // "增益设置值")
  private String gainSetting;

  // "温度")
  @Excel(name =  "温度")
  private String temper;

  // "实际增益")
  @Excel(name =  "实际增益")
  private String actualGain;

  // "单级输入无光告警门限")
  private String inputLightlessAlarmThreshold;

  // "最低温度阈值")
  private String temperMin;

  // "最高温度阈值")
  private String temperMax;

  // "反射告警门限")
  private String reflectiveAlarmThreshold;

  // "反射功率")
  private String reflectedPower;

  // "输出信号功率")
  @Excel(name = "输出信号功率")
  private String outputSignalPower;

  // "输入信号功率")
  @Excel(name = "输入信号功率")
  private String inputSignalPower;

  // "泵浦1工作电流")
  @Excel(name = "泵浦1工作电流")
  private String pump1Current;

  @Excel(name = "泵浦1功率")
  private String pump1Power;

  @Excel(name =  "泵浦1温度")
  private String pump1Tepmer;

  @Excel(name =  "泵浦1制冷电流")
  private String pump1RefaCurrent;

  @Excel(name =  "泵浦2工作电流")
  private String pump2Current;

  @Excel(name =  "泵浦2功率")
  private String pump2Power;

  @Excel(name =  "泵浦2温度")
  private String pump2Tepmer;

  @Excel(name =  "泵浦2制冷电流")
  private String pump2RefaCurrent;

  @Excel(name =  "创建时间")
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  private LocalDateTime createTime;

  // "报警状态1")
  private String alarmState1;

  private Boolean intervalSave;

  @Override
  public Serializable pkVal() {
    return this.machineRfaId;
  }

}
